2a973a42a5804b3e39113b7b7681e2251ddbc4c4,xstream/src/java/com/thoughtworks/xstream/mapper/OuterClassMapper.java,OuterClassMapper,realMember,#Class#String#,42
Before Change
@Override
public String realMember(final Class<?> type, final String serialized) {
if (serialized.equals(alias)) {
return "this$0";
} else {
return super.realMember(type, serialized);
After Change
@Override
public String realMember(final Class<?> type, final String serialized) {
if (serialized.startsWith(alias)) {
int idx = -1;
final int len = alias.length();
if (len == serialized.length()) {
idx = 0;
} else if (serialized.length() > len + 1 && serialized.charAt(len) == '-') {
idx = Integer.valueOf(serialized.substring(len + 1));
}
if (idx >= 0) {
final String[] innerFieldNames = getInnerFieldNames(type);
if (idx < innerFieldNames.length) {
return innerFieldNames[idx];
}
}
}